Stationary and mobile client devices typically include graphical user interfaces that enable a user to make selections from among a number of computing options to perform various tasks. The options may correspond to menu options, settings, data elements, and/or other options for an operating system, database, or application programs. One example application program is a communications program. Client devices often include one or more messaging capabilities such as instant messaging (IM), email, short message service (SMS), multimedia message service (MMS), and the like. Messages are typically exchanged over an electronic network, often through an online messaging service. Some messaging capabilities are provided by a client software module. Other messaging capabilities are provided through a browser that interfaces with a server-based messaging system. In either case, a user can generally store and view a listing of contacts. To access the contact list, a user typically displays a messaging window, or browser, over other windows. This is sometimes referred to as changing the focus to the messaging window. The user then usually selects a menu option to display the contacts list. Each entry in the contact list typically comprises a text name. Some messaging systems may also include a status indictor for each entry. For example, the current online availability of each entry may be displayed with each text name. Some messaging systems may also display an icon, avatar, or thumbnail image associated with some or all entries.
The entries are typically uniform in size, and typically include a scroll bar to scroll through the list of contacts. The visibility of the entries usually depends on the display size of the messaging window and an overall text-size setting. Some messaging windows, such as IM chat windows, are predefined to be relatively small. Notwithstanding the size of the messaging window, many messaging systems restrict the list of contacts to a subportion of the messaging window. Typically, a portion of the messaging window is reserved to display messages, such as chat text. These, and other factors, can make it difficult to distinguish the entries of a contact list.
The contacts are often sorted in alphabetical order. The user may also be able to manually organize the contacts into groups. Some systems enable a user to find one or more contacts with a name search and/or alphabetical filtering. Some messaging systems also keep a list of recent contacts, which generally consists of a sequential list of contacts in order of the most recent contact first. The visibility of the recent contacts also usually depends on one or more factors, such as those discussed above. The sequential listing typically does not indicate which contacts are accessed most often. Once a desired entry is identified, the user typically clicks on the text name or icon to initiate communication with the client associated with the selected entry. The above discussion of messaging systems illustrates one example of user interface issues in general that can be addressed with embodiments of the invention described below.